package gervosou;

import java.util.*;

public class vueClientPhysique
implements Observer        // pour MVC
{
//*************************
//Attributs
//*************************
private clientPhysique clientp;

//*************************
//Constructeur
//*************************
public vueClientPhysique (clientPhysique clp) {
// Liaison � l'objet ComptePerso
this.lierClientPhysique(clp);

// pour MVC :: la vue s'ajoute comme observateur de l'objet lect
clientp.addObserver(this);

this.afficherTout();
} // Fin Constructeur

//********************************
//M�thodes publiques
//********************************
public void update(Observable obs, Object o) {
// maj de la vue
this.afficherTout();
}  // Fin upDate

//********************************
public void elimineObserveur() {
clientp.deleteObserver(this);
} // Fin elimineObserveur

//********************************
//M�thodes priv�es
//********************************
private void afficherTout()  {
System.out.println();
System.out.println("                 -------------------------------------- ");
System.out.println("                 -             Client                 - ");
System.out.println("                 -------------------------------------- ");
System.out.println("                 - Nom  = " + clientp.getNom());
System.out.println("                 - Prénom  = " + clientp.getPrenom());
System.out.println("                 - Adresse  = " + clientp.getAdresse());
System.out.println("                 - Date de naissance  = " + IO.ecrireDate(clientp.getDateNaissance()));
if (clientp.getBloque()) {
	System.out.println("             Attention, ce client est bloqué !!!");
	};
System.out.println("                 -------------------------------------- ");

this.afficherListeComptes();
} // Fin afficherTout

//*************************************
private void afficherListeComptes() {
  Enumeration enumCP = clientp.enumComptes();

  if  (enumCP.hasMoreElements()) {

      System.out.println("                 - Comptes :                 ");
      while (enumCP.hasMoreElements()) {
          comptePerso compte = (comptePerso) enumCP.nextElement();
      System.out.println("                  * " + compte.getNumero() + " " + compte.getType() + " " + compte.getSolde() + " " + compte.getDecouvertAutorise());
      }
      System.out.println("                 -------------------------------------- ");
  }
} // Fin afficherListeComptes

private void lierClientPhysique(clientPhysique c) {
clientp = c;
} // Fin lierComptePerso

} // Fin VueComptePerso

